#ifndef WEATHER_H
#define WEATHER_H

#include "../lvgl/lvgl.h"
#include <stdint.h>
#include <stdbool.h>

// 天气数据结构体
typedef struct {
    char city[32];          // 城市名称
    char condition[32];     // 天气状况
    int temp;               // 温度(°C)
    int humidity;           // 湿度(%)
    int wind_speed;         // 风速(km/h)
    char update_time[20];   // 更新时间
} weather_data_t;

// UI更新数据结构体
typedef struct {
    lv_obj_t *city_label;
    lv_obj_t *temp_label;
    lv_obj_t *condition_label;
    lv_obj_t *humidity_label;
    lv_obj_t *wind_label;
    lv_obj_t *update_label;
} ui_update_data_t;

// 初始化天气模块
void weather_init(void);

// 从IP地址获取城市并更新天气
void weather_update_from_ip(void);

// 根据城市名更新天气
void weather_update_by_city(const char *city);

// 清理天气模块资源
void weather_cleanup(void);

#endif // WEATHER_H
    